<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;

class UserController extends Controller
{
    /*
    获取一个添加页面
    @param null
    @return 返回添加页面
    */
    public function add(){
        return view('user.add');
    }

    /*
    执行一个用户添加操作
    @param 用户提交的表单数据
    @return 返回添加结果
    */
    public function store(Request $request){
        //获取用户提交的表单数据
        $data = $request->except('_token');
        //将数据添加到数据库中
        $data['password'] = md5($data['password']);

        // 表单验证

        // 添加操作
        $res = User::create(['username'=>$data['username'],'password'=>$data['password']]);
        if($res){
            return redirect('/user/index')->with('success','添加成功');
        }else{
            return redirect('/user/add')->with('error','添加失败');
        }
    }

    /*
    获取一个用户列表页面
    @param null
    @return 返回用户列表页面
    */
    public function index(){
        //获取用户列表
        $user = User::get();
        //将数据传递到页面中
        return view('user.index',compact('user'));
    }

    /*
    获取一个用户修改页面
    @param 用户id
    @return 返回用户修改页面
    */
    public function edit($id){
        //获取用户信息
        $user = User::find($id);
        //将数据传递到页面中
        return view('user.edit',compact('user'));
    }
    /*
    执行一个用户修改操作
    @param 用户提交的表单数据
    @return 返回修改结果
    */
    public function update(Request $request){
        //获取用户ID和用户名
        $data = $request->all();
        $user = User::find($data['id']);
        $res = $user->update(['username'=>$data['username']]);
        if($res){
            return redirect('/user/index')->with('success','修改成功');
        }else{
            return redirect('/user/edit/')->with('error','修改失败');
        }   
    }
    /*
    执行一个用户删除操作
    @param 用户id
    @return 返回删除结果
    */
    public function del($id){
        //删除操作
        $res = User::find($id)->delete();
        if($res){
            $data = [
                'code'=>200,
                'msg'=>'删除成功'
            ];
        }else{
             $data = [
                'code'=>400,
               'msg'=>'删除失败'
            ];
        }
        // 返回结果
        return $data;
    }
}
